<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:c="http://java.sun.com/jsp/jstl/core">
    <h:body>
        <ui:composition template="/template/base.xhtml">
            <ui:define name="content">
                <h:form id="padre-form">
                    <p:growl id="growl" showDetail="true" sticky="true" />
                    <p:spacer />

                    <p:panel header="Lista de padres registrados">
                        <p:dataTable id="dtPadre" var="padre" value="#{padreBean.padres}"
                                     rows="10" paginator="true" paginatorPosition="bottom"
                                     paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     rowsPerPageTemplate="5,10,15"
                                     selection="#{padreBean.padreSelected}" rowKey="#{padre.id}"
                                     selectionMode="single">


                            <p:ajax event="rowSelect" listener="#{padreBean.onRowSelect}" />

                            <p:column headerText="ID">
                                <h:outputText value="#{padre.id}" />
                            </p:column>
                            <p:column headerText="Nombre" sortBy="#{padre.nombre}">
                                <h:outputText value="#{padre.nombre}" />
                            </p:column>
                            <p:column headerText="Apellido" sortBy="#{padre.apellido}">
                                <h:outputText value="#{padre.apellido}" />
                            </p:column>
                            <p:column headerText="Documento" sortBy="#{padre.documento}">
                                <h:outputText value="#{padre.documento}" />
                            </p:column>
                            <p:column headerText="Teléfono">
                                <h:outputText value="#{padre.telefono}" />
                            </p:column>
                            <p:column headerText="E-mail">
                                <h:outputText value="#{padre.email}" />
                            </p:column>

                            <f:facet name="footer">
                                <p:commandButton process="dtPadre" icon="ui-icon-document"
                                                 value="Agregar" oncomplete="PF('dlgPadreAdd').show()"
                                                 update="dtPadre"/>
                                <p:commandButton process="dtPadre" icon="ui-icon-pencil"
                                                 value="Editar" oncomplete="PF('dlgPadreEdit').show()"
                                                 update=":form-edit:pnlGridPadre" disabled="#{padreBean.bloquearBotones}" />
                                <p:commandButton process="dtPadre" icon="ui-icon-trash"
                                                 value="Borrar" actionListener="#{padreBean.deletePadre}"
                                                 update="dtPadre" disabled="#{padreBean.bloquearBotones}">
                                    <p:confirm header="Borrar Padre"
                                               message="Estas seguro que queres borrar?" icon="ui-icon-alert" />
                                </p:commandButton>
                            </f:facet>
                        </p:dataTable>
                    </p:panel>

                    <p:confirmDialog global="true" showEffect="fade"
                                     hideEffect="explode">
                        <p:commandButton value="Si" type="button"
                                         styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                        <p:commandButton value="No" type="button"
                                         styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
                    </p:confirmDialog>
                </h:form>

                <p:dialog header="Agregar Padre" id="PdglPadreAdd"
                          widgetVar="dlgPadreAdd" modal="true">
                    <h:form id="form-add">
                        <p:panelGrid columns="2" columnClasses="column" id="pnlGridAddPadre">

                            <p:outputLabel value="Nombre" for="nombre" />						
                            <p:inputText id="nombre" required="true" 
                                         value="#{padreBean.nombre}"/>

                            <p:outputLabel value="Apellido" for="apellido" />
                            <p:inputText id="apellido" required="true"
                                         value="#{padreBean.apellido}" />

                            <p:outputLabel value="TipoDocumento" for="tipoDocumento" />
                            <p:selectOneMenu id="tipoDocumento"
                                             value="#{padreBean.tipoDocumento}"
                                             converter="tipoDocumentoConverter">
                                <c:forEach var="tipoDocumento"
                                           items="#{tipoDocumentoBean.listDocumento}">
                                    <f:selectItem itemValue="#{tipoDocumento}"
                                                  itemLabel="#{tipoDocumento.descripcion}" />
                                </c:forEach>
                            </p:selectOneMenu>

                            <p:outputLabel value="Documento" for="documento" />
                            <p:inputText id="documento"
                                         value="#{padreBean.documento}" />


                            <p:outputLabel value="Telefóno" for="telefono" />
                            <p:inputText id="telefono" value="#{padreBean.telefono}" />

                            <p:outputLabel value="Ciudad" for="ciudad" />
                            <p:selectOneMenu id="ciudad"
                                             value="#{padreBean.ciudad}"
                                             converter="ciudadConverter">
                                <c:forEach var="ciudad" items="#{ciudadBean.ciudades}">
                                    <f:selectItem itemValue="#{ciudad}"
                                                  itemLabel="#{ciudad.descripcion}" />
                                </c:forEach>
                            </p:selectOneMenu>

                            <p:outputLabel value="Dirección" for="direccion" />
                            <p:inputText id="direccion"
                                         value="#{padreBean.direccion}" />

                            <p:outputLabel value="Email" for="email" />
                            <p:inputText id="email"
                                         value="#{padreBean.email}" />
                            <p:spacer />
                        </p:panelGrid>
                        <p:commandButton process="form-add" value="Guardar Padre"
                                         action="#{padreBean.savePadre}"
                                         style="text-align:center; float:center"
                                         onclick="PdglPadreAdd.hide();" oncomplete=""
                                         update=":padre-form:dtPadre,:padre-form:growl"  />
                    </h:form>
                </p:dialog>



                <p:dialog header="Padre seleccionado" id="PdglPadreEdit"
                          widgetVar="dlgPadreEdit" modal="true">
                    <h:form id="form-edit">
                        <p:panelGrid columns="2" columnClasses="column" id="pnlGridPadre">

                            <p:outputLabel value="Nombre" for="nombre" />						
                            <p:autoComplete id="nombre" required="true" 
                                            value="#{padreBean.nombre}"/>

                            <p:outputLabel value="Apellido" for="apellido" />
                            <p:autoComplete id="apellido" required="true"
                                            value="#{padreBean.apellido}" />

                            <p:outputLabel value="TipoDocumento" for="tipoDocumento" />
                            <p:selectOneMenu id="tipoDocumento"
                                             value="#{padreBean.tipoDocumento}"
                                             converter="tipoDocumentoConverter">
                                <c:forEach var="tipoDocumento"
                                           items="#{tipoDocumentoBean.listDocumento}">
                                    <f:selectItem itemValue="#{tipoDocumento}"
                                                  itemLabel="#{tipoDocumento.descripcion}" />
                                </c:forEach>
                            </p:selectOneMenu>

                            <p:outputLabel value="Documento" for="documento" />
                            <p:autoComplete id="documento"
                                            value="#{padreBean.documento}" />


                            <p:outputLabel value="Telefóno" for="telefono" />
                            <p:autoComplete id="telefono" value="#{padreBean.telefono}" />

                            <p:outputLabel value="Ciudad" for="ciudad" />
                            <p:selectOneMenu id="ciudad"
                                             value="#{padreBean.ciudad}"
                                             converter="ciudadConverter">
                                <c:forEach var="ciudad" items="#{ciudadBean.ciudades}">
                                    <f:selectItem itemValue="#{ciudad}"
                                                  itemLabel="#{ciudad.descripcion}" />
                                </c:forEach>
                            </p:selectOneMenu>

                            <p:outputLabel value="Dirección" for="direccion" />
                            <p:autoComplete id="direccion"
                                            value="#{padreBean.direccion}" />

                            <p:outputLabel value="Email" for="email" />
                            <p:autoComplete id="email"
                                            value="#{padreBean.email}" />
                            <p:spacer />
                            <p:commandButton value="Guardar" action="#{padreBean.editPadre}"
                                             style="text-align:right; float:right"
                                             onclick="PdglPadreEdit.hide();"
                                             oncomplete=""
                                             update=":padre-form:dtPadre,:padre-form:growl">

                            </p:commandButton>

                        </p:panelGrid>
                    </h:form>
                </p:dialog>

            </ui:define>
        </ui:composition>
    </h:body>
</html>